弘玑 Cyclone RPA
弘玑 Cyclone RPA
RPA的特征与业务价值
什么是RPA
RPA,全称 “机器人流程自动化” (Robotic Process Automation), 它的核心技术是从自动化测试工具和桌面自动化技术中发展而来的。
RPA是近些年新兴的一个IT领域,其本质是基于软件的机器人,结合包括AI在内的各项技术,为企业实现业务流程自动化的产品/解决方案。
PRA的特征汇总
- 软件机器人
- 模拟和替代人工的操作
- 核心能力,比如键盘,鼠标,登录,切换页面和粘贴数据等操作
- 非侵入式串接不同的系统
- PRA实现了无缝跨系统的集成
- 界面捕捉对象,内容和数据等
- 无需改动后端程序,无接口,无需调整数据库结构,表层集成
- 一组技术的组合
- 屏幕抓取,工作流,流程控制和拖拽等易用性特征
- 类似工作流的执行能力
- 执行的是具有固定规则、工作量大的任务
- 快速实施
RPA客户目标
节省成本
结合流程标准化的机会引入机器人工具自动化流程可以至少节省30%-50%
生产性
- 自动化工具最高可提升到人力的5倍工作
- 24x7
- 人们可以专注更重要的任务
正确性
通过机器人工具消除人工干预能让处理正确性达到100%
扩展性/灵活性
- 数字员工可适用于不同地点和流程
- 提供可扩展及可协作性
- 可通过扩展适应业务的迅速变化
合规
- 可适应区域性数据存储需求
- 规则驱动的交易处理可以持续满足财务需求
- 全程可追溯,全生命周期日志
安全
- 不会有因为人工干预丢失数据的风险
- 全程无人干预,可以进行
- 保密数据的传输可按需设定安全权限
Cyclone RPA 三件套协同工作
数字员工执行器
- 根据脚本自动完成所需的业务处理
数字员工设计器
- 设计开发自动化流程文件
- 脚本文件
数字员工中央控制台
- 管理流程的运行
- 监控任务的完成和记录相关的数据等
组件流程
无人值守自动化
无需人工参与的自动化
如绝大多数重复性文本核对工作
有人值守自动化
人与机器人协同工作
Cyclone RPA 应用场景
财务
- 财务录入
- 报告生成
- 财务核对
- 银行对账
- 账户查询提醒
- 应收账款处理
- 应付账款
- 账户结算
- 纳税申报
- 费用报销
人力资源
- 招聘管理
- 简历收集及筛选
- 入职及离职
- 考勤管理
- 员工数据管理
- 报告生成
- 薪酬管理
- 培训管理
供应链
- 订单处理
- 供应商对账
- 主数据管理
- 第三方平台对账
- 内部对账
- 货单处理
- 库存管理
- 采购管理
- 凭证录入
- 关账与报表合并
IT
- 用户权限管理
- 密码重置/解锁系统监控
- 系统运维|信息抓取
- 工单处理|邮件分发
- 网络信息抓取
- 数据清洗
- 数据导入批处理
- 数据备份与恢复
- Helpdesk热线
银行
- 账单核对
- 征信查询
- 信用卡积分管理
- 对公账户信息录入
- 资质审核|信用凭证自动化
- 经销商发票勾兑
- 业务对账
- 验证贷款申请
保险
- 录入业务账单
- 客户服务
- 承保合规性
- 优化客户理赔体验
- 账单处理
- 收益分析及计算
- 每日战报
经典落地场景
账单录入
- 客户类型:某保险公司
- 适用部门:账单部门
- 业务内容:根据账单部门收到的格式不一的账单,整理并录入业务核心系统,并发送邮件报告
- 工作量:1000~2000 张账单/月
- 使用效果:月末账单录入时间大大减少,提升50%账单录入速度,零错误率
设计器安装
Cyclone Log Viewerd 当流程使用 Cyclone Server运行时,选择了输出日志,此时Cyclone Server 会输出日志文件,Cyclone Log Viewerd查看日志文件内容。
Cyclone Server用来执行流程,添加触发器以及查看流程运行记录。
Cyclone Starter流程设计器,RPA流程的开发,设计都可以在此程序中完成,同时,支持自定义组件可以更好的支持定制化流程。
启动
安装完成后,双击Cyclone Starter启动设计器。
注意
注意以管理员身份运行
流程版本管理与发布
流程mrpax文件的命名
- 发布后的流程mrpax文件的命名模式并不唯一但至少应当考虑明确其环境信息。
- 推荐使用类似的命名方式:【客户名称简写】【环境简称】【流程业务简称】.mrpax
- 如:中石化云南 UAT 企业账户费用核销.mrpax格力珠海 Prod 客户应收应付日报 20210702.mrpax
基本概念
流程
流程是应用的组成单元,一个流程包含一系列顺序执行的指令。流程之间可以相互调用。在应用运行时,会从主流程开始执行,并顺序执行主流程中包含的指令和调用的子流程。主流程不可被删除。
作用域
作用域是指一个变量存在或可被使用的范围。如全局变量的可被使用范围是整个应用,而在循环中插入的变量,可被使用的范围仅是当前循环中。在变量所在域之外,变量会被回收。
组件
指令/组件是流程的组成单元,也是RPA最基本的组成单元。每一个指令对应一个具体的计算机操作动作。如“打开Excel文件”、“获取元素文本内容”,“条件判断”等。
指令分为内置指令、外置指令和市场指令三种。内置指令随客户端版本一一起更新,外置指令可以在切换应用时动态加载不同的版本,也可以在指令管理面板手动切换版本。市场指令是从指令市场获取的指令,可以在指令管理面切换版本或删除。
变量
内存中的一块空间存储某个值,空间中存储的值是可以改变的,这个空间就是变量。简单的说,就是给应用和流程中用到的数据取一个名字,在流程中可以通过名字使用这个数据。变量中可以储存数字、字符串、列表等类型的数据,也可以储存数据表格、excel、页面元素等具有复杂结构的数据。变量分为全局变量和局部变量,全局变量可以在整个应用范围内被引用。而局部变量可在流程中任意位置插入,在插入位置之后,在当前变量的所在域中,可以被使用。
参数
参数是一种特殊的变量,是数据传递的介质。应用输入参数是在应用运行前,需要用户输入的数据。参数也可以用来在应用与应用之间,或流程与流程之间进行数据传递。不过,在流程之间传递数据也可以通过全局变量来实现。
元素
元素(或界面元素)是一种特殊的变量类型。在工作易RPA中,元素特指通过UI自动化(捕获)的方式,从浏览器或桌面软件中指定的一个目标,获取其特征和截图,以对其进行后续的查找和操作。
设计器特性
设计器的产品目标与特性
让用户更轻松、更快速地在不需要编写代码的情况下完成RPA流程的开发设计,并为机器人赋予更强大的自动化能力。
图形化开发
设计器提供了图形化界面,所有的节点都通过节选或者配置参数的方式完成设计,同时它的调试模式提供断点,单步调试,变量值显示,实时语法检查等辅助功能,帮助用户加速开发,设计器界面自动化支持跨平台跨系统,自动化操作各种架构的第三方产品和文档,且支持开发导入自定义组件,以供流程开发调用
设计器工程模式简介
创建项目
将会创建一个json
包文件和flow
流程文件
打开项目
可以打开json
包文件和flow
流程文件,将跳转到设计器设计界面
升级旧流程
可以将旧版本的mrpa
文件升级成flow
文件,若出现cyclone-upgrader-errs.json
则说明有需要修改的地方
界面介绍
标题栏
- 标题栏主要用于展示项目名称,当项目打开后会显示当前项目的名称。
- 如果是初始状态,标题栏展示为开始。
导航栏
名称 | 作用 |
---|---|
首页 | 回到首页 |
工程 | 回到当前工程 |
调试 | 调试当前流程。详细信息参见:调试 说明。 |
设置选项 | 个性化系统设置 |
收起 | 收起/展开工程资源栏 |
连接中心 | 与控制中心,应用市场,卓越中心连接 |
工具栏
工具栏主要集成想项目开发中所用的工具。
名称 | 作用 |
---|---|
新建 | 新建RPA项目 |
保存 | 保存更改后的流程。 |
发布 | RPA项目发布,打包。详细信息参见:发布 说明。 |
运行 | 运行流程。 |
调试 | 对流程进行调试修改。 |
撤销 | 回退上一步操作。 |
重做 | 恢复上一步操作。 |
清空 | 清空画布中所有组件 |
组件管理 | 安装、卸载、更新等管理外部组件,同时支持用户自定义组件。 |
安装扩展 | 安装一些辅助类的插件,如浏览器扩展,键盘驱动等。 |
录屏 | 通过记录用户在界面的操作记录,并将这些记录生成流程 |
数据抓取 | 批量抓取结构化数据与表格数据。详细信息参见:数据抓取 说明。 |
Cyclone 浏览器 | 设计器自带的浏览器,若开发时没有浏览器可以选择此浏览器作为支持。 |
UI解析器 | 捕获到的元素的详细信息展示和修改。详细信息参见:UI解析器 说明。 |
下边栏
下边栏主要包含三个选项卡
变量管理:方便的统一管理变量、如创建、修改、删除、筛选变量,查看异常提示、引用信息。详细信息参见:变量 说明。
运行日志:通过此窗口查看流程运行的重要节点信息。
参数管理:管理参数的传递方向,类型,默认值等。 详细信息参见:参数 说明。
属性面板
用户可以在属性面板区域编辑画布对应节点的输入输出信息。
属性面板展示内容如下:
- 节点名称(用户可以自定义);
- 节点编号(节点的唯一标识);
- 节点描述;
- 节点输入;
- 节点输出;
- 节点设置(部分节点有)
对于属性面板的输入框,点击如所示EXP按钮可以切换表达式模式和值模式:
- 表达式模式:支持引用变量,支持语法糖,支持表达式;
- 值模式:支持直接输入字符,不用转义。(举例:输入姓名的字符串,如为表达式模式,应输入”张三“,如为值模式,应输入张三)
导入流程
项目之外的流程文件
导入资源文件
Excel,图片等资源文件
组件管理
额外拓展自定义等
自动化流程演示
调试
- 可自动获取外部参数、局部变量的当前值。
- 支持编辑变量的当前值
- 修改后的变量值对还未调试的节点生效。
- 支持可视化编辑日期时间、数组、对象变量的当前值。
完整搭建一个流程
新建流程
在设计器界面中点击“新建项目”按钮,开始创建项目。
在 创建项目 面板中,填写项目名称和存放目录,点击“确定”按钮。
- 项目名称* - 输入项目名称,项目名称不能为空。
- 项目存放目录* - 将在项目存放的目录下自动创建与项目同名的文件夹。
*代表必填项
点击“打开主流程”按钮①,在主流程中添加组件;或点击“新建流程”按钮②,新建子流程,在子流程中可以添加组件。以打开主流程为例。
在主流程的面板中点击“添加组件”按钮①,打开组件库;或在面板左侧点击“组件库”②,切换到组件库。以点击“添加组件”按钮为例。
在组件库中展开需要的模块来添加组件,组件库中的组件模块包括界面自动化、Excel、数据处理、逻辑处理、系统功能、应用自动化、数据库、人机交互、网络协议、其他组件、中控、集成模块。也可以在搜索框中搜索特定的组件。
注意:
在面板左侧组件库中右键后点击“加入收藏”的组件,会被收入 我的收藏 模块。
最近使用过的组件,会被收入 最近使用 模块。找到需要的组件,点击组件加入流程。以 打开浏览器、输入文本为例。
点击组件面板,填写组件属性。例如在 打开浏览器 组件中,选择浏览器类型,填写网页路径、进程号等。
部分组件可能需要捕获元素,例如在 输入文本 组件中,点击目标元素的坐标按钮,进入常规捕获模式。
将鼠标移至需要捕获元素的位置,使用Ctrl+鼠标左键组合确认捕获,捕获目标元素后在组件属性中可以回显。
运行流程
填写完所有组件的属性后,点击“运行”按钮,运行流程。
默认为运行全流程。下拉可以选择以下三项:
- 运行当前流程,快捷键为Ctrl+F6
- 运行全流程,快捷键为Ctrl+F5
- 画中画运行全流程
运行成功时系统会显示 “Cyclone Starter 运行成功”。
调试流程
在设计器界面中点击“调试”按钮,开始调试流程。
默认为调试全流程。下拉可以选择以下二项:
- 调试当前流程,快捷键为F8
- 调试全流程,快捷键为F7
在调试界面中,可进行详细操作。在左侧蓝色导航栏可切换到主页或设计界面。
开始 - 开始调试流程,快捷键为F8
停止 - 调试过程中点击“停止”,停止调试,关闭调试界面,快捷键为Ctrl+F12
单步调试 - 点击后调试单个组件,调试后暂停,再点击调试下一个组件,快捷键为F11
运行日志 - 点击后跳转到运行日志所在文件夹
调速 - 可选择以下四种速度,默认为快速
速度 延时时间 慢速 1000ms 正常 500ms 快速 0ms 自定义 可填写
保存流程
如果需要保存流程,在面板中点击“保存”按钮。
默认为保存当前文件。下拉可以选择以下二项:
- 保存当前文件 - 保存当前界面中的流程文件
- 保存全部 - 保存打开的全部流程文件
发布流程
在设计器界面中点击“发布”按钮,开始发布流程。
在发布项目界面中,可以进行多项内容的填写与修改。
其中项目信息①和发布者身份②,需点击按钮进行子页面填写。
在项目信息界面中,可进行项目名称、项目简介、使用说明的填写。
- 项目名称* - 默认为新建项目时填写的项目名称
- 项目简介* - 输入项目简介
- 使用说明* - 输入使用说明
在 导出 模块中,可进行是否导出至本地的选择、存储路径的选取。
- 导出至本地 - 是否导出至本地,可选择启用或不启用,默认为启用
- 存储路径 - 可点击按钮后进行选取
在 发布 模块中,可进行发布者身份、是否发布至中控的修改。
- 发布者身份 - 点击 连接中心 或修改按钮,进入 Designer Pro 连接中心 界面
- 发布至中控 - 是否发布至中控,可选择启用或不启用,默认为不启用
在 版本信息 模块中,可进行发布版本的选择、发布说明的填写。
发布版本 - 可以根据当前版本号,选择以下四种版本号(以当前版本1.0.0为例):
发布版本 版本号 备注 当前版本 1.0.0 默认选择项 修订版 1.0.1 修复问题,且兼容上一版本时,建议选择此版本 次版本 1.1.0 新增功能,且兼容上一版本时,建议选择此版本 主版本 2.0.0 产生不兼容的修改时,建议选择此版本 发布说明* - 输入发布说明
填写完发布项目的信息后,点击“更新项目信息并发布”按钮。
流程发布成功后,会反馈发布结果,点击“完成”按钮,完成发布流程。
如何录制一个流程
- 在流程面板中点击“录制”按钮,开启智能录制。
- 在智能录制面板中,点击“开始”按钮,开始录制。
- 开始智能录制后,进行需要录制的操作,操作动作会被记录,自动生成流程。能在智能录制的面板中看到记录的操作动作。
- 在智能录制面板中,点击“暂停”按钮或使用Esc键暂停录制①;点击“确定”按钮完成录制②;点击“取消”按钮取消录制③.
- 完成智能录制后,能在面板中看到 录屏流程 组件。
- 可展开 录屏流程 组件,双击查看其中的子流程。
- 在子流程面板中可以对录制的子流程进行修改,也可以点击“主流程”按钮返回 录制流程 组件所在的主流程。
从模板新建流程
基本概念
越来越复杂的业务场景,需要更完善的企业级流程架构应对,企业级流程模板是从复杂项目中总结出的最佳实践,它有:
- 更完善的异常处理机制,增强流程稳定性
- 更统一的业务逻辑流程,易于后期运维
功能入口
首页-从模板新建-企业级流程模板
使用说明
- 从模板中新建项目中选择“企业级流程模板”,写好项目名称等信息 即可基于模板建立一个新的项目
- 进入新建好的项目,可以看到模板中已有的流程框架,可按需继续编辑流程
- 也支持导入一个本地流程作为自定义模板
- 可以从官方市场中获取更多流程作为模板,点击“浏览更多模板”将在默认浏览器中前往官方市场
已知限制
- 自定义模板功能不支持导入 使用低于该版本的设计器写的流程 作为模板(比如用4.0写的流程文件不能导入到4.3的设计器作为自定义模板),建议您先升级您的流程后再导入
流程模式
序列图
序列图分为流程模式和行模式,流程模式以图形的方式展示节点,能直观的看到画布上的节点信息,且部分节点支持在画布上操作,而行模式同样大小的画布能够容纳更多的节点信息,双方各有优劣。
流程模式
功能描述
流程模式以图形化,可视化的方式展示画布上的节点,能够直观的看到节点与节点之前间的逻辑关系和层级。
使用场景
任何需要用到序列图画布的场景
使用说明
1. 插入节点
现插入节点有2种方式:从画布中插入和拖动组件库节点至画布,具体场景如下:
- 从组件库插入:拖动插入或双击插入即可。
- 在画布上点击加号插入:
2. 插入注释
支持选中节点后右键插入注释
行模式
功能描述
行模式画布类似大纲,将节画布中的节点信息按行展示,这样可以在一屏中展示更多的信息。
使用场景
任何需要用到序列图画布的场景
使用说明
1. 功能入口
开启行模式画布,点击如图所示按钮即可开启
2. 插入节点:
现插入节点有2种方式:从画布中插入和拖动组件库节点至画布,具体场景如下:
- 从组件库插入:拖动插入即可。
- 在画布上同层级插入:
- IF中插入更多条件:
- 从画布末尾插入
3. 画布视图调整:
- 支持调整百分比;
- 支持收起或展开有层级的节点;
- 其他功能与序列图流程模式一致。
3. 插入批注:
可通过选中节点右键添加批注
流程图
功能描述
用流程图画布,绘制流程图,并通过序列画布实现流程图中的流程节点,从而完成项目的开发。
使用场景
流程图画布适用于较为复杂的多个节点按序重试、多判断、多分支的流程。
使用说明
1. 开启实验室功能
因流程图画布属于实验室功能,故应先开启功能,开启路径为 设置-实验室功能-启用实验功能。
2. 创建流程图画布
现流程图画布有2个入口:
1) 新建空白项目后如画布未添加任何组件,可在画布区域右上角切换为流程图画布;
2)新建文件可新建流程图文件。
3. 绘制流程图
1) 绘制节点,可在左侧功能栏-组件库中选择相应节点拖拽至画布即可完成节点绘制(现仅支持流程块,流程判断及流程决策节点);
2) 绘制连线:点击流程节点出口连接处,鼠标左键按下并拖拽至其他流程节点入口连接处即可完成连线绘制;
4. 流程节点实现
双击流程块,可进入序列画布页面,使用流程序列完成流程节点实现。
5. 运行与调试
流程图的调试运行功能与序列流程基本一致,支持运行当前流程/全流程、调试当前流程/全流程,流程图组件暂不支持【调试当前节点】或【从当前节点开始调试】
代码模式
使用场景
对于有代码基础的用户,为了提高开发效率,许多场景可通过写代码的方式实现,如
- 流程中有很多数据处理任务,使用组件开发比较麻烦,效率较低
- 一些需要调用三方包的功能,如Excel、pdf接口调用等
- 编写爬虫等脚本文件
- 调用已有的代码文件
环境介绍
- 设计器在安装时,会自动内置代码运行环境,与电脑中的python/js环境无关
- 设计器中内置的python环境为:python 3.8.10,js环境为:node-v12
详细内容参照:代码模式
流程编辑
工程模式
基本概念
工程模式,就是把一个项目当成一个project(相当于现在的一个mrpa)
- 项目相关资源组织成文件夹,包括流程文件、资源文件、package.json等
- 将大流程拆分成若干子文件,在需要时进行调用
解决的问题
子流程复用,联调
- 建议将大的流程拆分成多个流程文件,进行单独调试、运行。规避变量过多,解决难于阅读和调试的问题,同时增强文件的复用性。
主流程结构更加清晰
- 主流程结构不再受线性条件的限制,可以在条件判断、循环中使用
- 建议大家把整体的流程逻辑放在主流程中,然后用不同的流程文件进行组合。未来会推出模版,配合流程图模式,规范大家的流程结构,增强可读性。
资源文件管理
一些在项目中使用到的文件,比如“图片”,“excel文件“等,如果希望未来该文件可以随着项目一起发布,可将其作为项目需要的资源文件,加入到项目中。
对于已捕获的组件,重新捕获后,之前捕获的图片如果不再使用,可以进行删除
最佳实践
- 可被复用的节点片段建议拆成单个流程,每个流程单独编写、单独调试通过。
- 建议每个流程文件不超过100个节点
- 每个流程文件的功能尽量单一,清晰
功能介绍
入口流程
项目文件默认从main.flow开始执行
将流程文件加入到流程中
请在流程中使用“引入流程文件”节点。
注意
注:该节点只能引用项目文件夹内部的流程(如果需要引入项目外的流程文件,需要先将其导入)
导入外部流程文件
如果需要使用来自外部的流程文件,需要先将其进行导入,再在流程中使用“引入流程文件”节点。
- 支持导入.flow格式的流程文件
导入含有依赖的流程文件的处理方式
如果从外部导入了流程1,然后流程1中又使用了”引入流程文件“,引入了流程2,在导入流程1时,需要做如下操作:
1、将其依赖的”流程2“也导入到本项目中
2、将流程1中”引入流程文件“的节点进行修改,重新引入一下流程2
一些在项目中使用到的文件,比如“图片”,“excel文件“等,如果希望未来该文件可以随着项目一起发布,可将其作为项目需要的资源文件,加入到项目中。
1、导入资源文件
在“+”号处,选择“导入资源文件”
2、使用资源文件
1)在画布中,使用“引入资源文件节点”,选择该资源文件,将文件路径输出为一个变量
2)在需要用到文件路径的地方,使用该变量
3、查看和编辑资源文件(使用当前系统中默认的打开方式打开该文件)
代码模式
代码文件
使用场景
对于有代码基础的用户,为了提高开发效率,许多场景可通过写代码的方式实现,如
- 流程中有很多数据处理任务,使用组件开发比较麻烦,效率较低
- 一些需要调用三方包的功能,如Excel、pdf接口调用等
- 编写爬虫等脚本文件
- 调用已有的代码文件
环境介绍
- 设计器在安装时,会自动内置代码运行环境,与电脑中的python/js环境无关
- 设计器中内置的python环境为:python 3.8.10,js环境为:node-v12
功能介绍
创建代码文件
- 支持创建py文件、js文件、Mjs文件(会比javaScript更加规范的一种语言)
- 两个入口可以新建代码文件,项目面板和标签栏
创建完成后,项目面版会新增一个代码文件,并且会在标签页中自动打开
定义输入输出参数
使用场景:
当代码文件需要和其他流程文件进行数据交互时,需要定义输入输出参数
定义完成后,当使用“调用代码块”进行调用时,需要传递相应的出入参数
功能描述:
- 支持多个输入参数和一个输出参数
- 不同语言的定义方法不同,示例如下:
一个函数需要两个数字类型入参a,b和一个数字类型的出参,不同语言的写法如下:
python文件
- 支持的数据类型:float、bool、str、dict
js文件
- 支持的数据类型:js语言支持的所有类型
Mjs文件
- 支持的数据类型:Mjs语言支持的所有类型
编写代码文件
设计器提供了内置代码编辑器
代码编辑器功能:
python:支持语法着色、自动补全、语法提示等功能;
JS/MJS:支持错误提示、语法着色、自动补全、语法提示等
调用代码文件
在流程文件中调用:使用组件”调用代码块”
使用提醒:当选择脚本路径后,需要点击“刷新文件”,再选择方法名称
在代码块中调用:直接使用import,和写代码一致
注意
若在代码编辑中有需要用到外部包,请在包管理工具中导入。请参考代码包管理
参数管理
基本概念
- 参数:是用于流程被调用或者执行时与外部进行数据传递,比如
- 在设计器的主流程中引用其他flow流程时,通过输入输出参数进行数据传递
- 在执行器或中控上执行流程时,通过输入输出参数进行数据传递
新建参数
- 新建输入/输出参数:
- 右键点击输入/输出参数,在右键菜单中选择“新建参数”
- 选中输入或输出参数下的其中一个参数后,点击“+”按钮
编辑参数
- 有两种方式可以编辑您的参数
- 悬停在某个参数时,会出现一个编辑图标按钮,点击按钮即可打开编辑页面
- 右键点击某参数,右键菜单中选择“编辑参数”
- 可设置参数的名称、参数类型、初始值、参数描述
- 注意输出参数不支持设置初始值,因为输出参数应当是在流程中对它进行赋值,而不该是固定默认值
参数类型
设计器支持众多参数类型,这些参数类型均与变量类型一致。因此,您可以创建泛型值、字符串、布尔值、对象、数组或数据表参数,与创建变量 时相同。
主要有:
参数类型 | 详细类型 |
---|---|
字符串 | string |
数字 | number |
布尔 | boolean |
数组 | array |
对象 | object |
密码 | cyclone.Password |
日期时间 | cyclone.DateTime |
数据表 | cyclone.Datatable |
自定义类型 | 例如array,object,string 表示array |
Cyclone内部变量类型 | cyclone.xxx,是弘玑定义的一些固定的数据结构 |
注意
注意:
- 参数类型中,布尔类型默认值为true。
- 数组类型在使用时,要选择数组中数据的类型,同时只能选择字符串、数字、布尔类型。
- 对象类型在使用时,要选择数组中数据的类型,同时只能选择字符串、数字、布尔类型。
- 密码类型不支持作为输出参数,密码的默认加密类型AES加密,实际上是加密的字符串类型。
输入参数如何改为输出参数
- 可将输入参数拖拽至输出参数的节点下面,反之亦可
- 按下{ctrl}或{shift}可实现批量拖拽参数
删除参数
- 右键菜单中选择“删除参数”
- 选中参数后按下{Del}键,支持按下{Ctrl}或{Shift}选中多个参数后进行批量删除
批量复制粘贴变量
- 选中一个参数,如参数1,按下Ctrl+C进行复制;按下Ctrl+V进行粘贴,生成【参数1的副本1】
- 按下{ctrl}支持选中多个参数进行批量复制粘贴
- 按下{shift}支持连选多个参数进行批量复制粘贴
搜索&筛选变量
- 点击参数旁的筛选图标小按钮,支持筛选参数类型
- 支持输入参数名称进行模糊搜索
查看引用信息
- 鼠标悬停在某个参数时,会显示参数的详细信息
- 点击“显示详情”可以查看该参数被引用情况,点击引用信息下的某作用域可以实现快速跳转
参数一键转换为变量
右键点击变量,在菜单中可以选择转换为输入或输出参数
变量管理
基本概念
- 变量:是用于存储流程设计中需要流转使用的数据
新建变量
新建全局变量:点击变量面板中的“+”按钮,即可快速创建新变量。节点中输出一个新变量时,需要同时按键Shift + Enter, 快速创建一个变量。
新建局部变量:有两种方法
- 右键点击想要新建局部变量的目标作用域,在右键菜单中选择“新建变量”
- 选中目标作用域下的其中一个变量后,点击“+”按钮
编辑变量
有两种方式可以编辑您的变量
- 悬停在某个变量时,会出现一个编辑图标按钮,点击按钮即可打开编辑页面
- 右键点击某变量,右键菜单中选择“编辑变量”
可设置变量的名称、变量类型、初始值、变量描述
变量类型
设计器支持众多变量类型。您可以创建泛型值、字符串、布尔值、对象、数组或数据表变量
主要有:
主要有:
变量类型 | 详细类型 |
---|---|
字符串 | string |
数字 | number |
布尔 | boolean |
数组 | array |
对象 | object |
密码 | cyclone.Password |
日期时间 | cyclone.DateTime |
数据表格 | cyclone.Sqltable |
自定义类型 | 例如array,object,string 表示array |
Cyclone内部变量类型 | cyclone.xxx,是弘玑定义的一些固定的数据结构 |
注意
注意:
- 变量类型中,布尔类型默认值为true。
- 数组类型在使用时,要选择数组中数据的类型,同时只能选择字符串、数字、布尔类型。
- 对象类型在使用时,要选择数组中数据的类型,同时只能选择字符串、数字、布尔类型。
- 密码类型在使用时,默认加密类型AES加密。
变量范围
变量范围 | 是否会创建自变量 |
---|---|
当前流程 | 否 |
流程块 | 否 |
TryCatch异常处理>try | 否 |
TryCatch异常处理>finally | 否 |
捕获异常 | 否 |
While循环 | 否 |
数组遍历 | 是(①_array_index、②_array_element) |
对象遍历 | 是(①_object_key、②_object_value) |
For循环 | 是(i) |
If条件判断>如果 | 否 |
If条件判断>否则 | 否 |
修改变量作用域
- 可通过拖拽修改变量的作用域,比如将主流程下的全局变量拖至for循环作用域下面
- 按下{ctrl}或{shift}可实现批量拖拽变量,批量修改变量的作用域
删除变量(可批量)
- 右键菜单中选择“删除变量”
- 选中变量后按下{Del}键,支持按下{Ctrl}或{Shift}选中多个变量后进行批量删除
复制粘贴变量(可批量)
- 选中一个变量,如变量1,按下Ctrl+C进行复制;按下Ctrl+V进行粘贴,生成【变量1的副本1】
- 按下{ctrl}支持选中多个变量进行批量复制粘贴
- 按下{shift}支持连选多个变量进行批量复制粘贴
搜索&筛选变量
点击变量旁的筛选图标小按钮,支持筛选变量类型
支持输入变量名称进行模糊搜索
去除未引用变量
- 当变量未被其他组件引用时,通过“去除未引用变量”功能,可以快速去除所有未引用的变量
- ⚠注意:如果您的节点被//禁用了,这些节点里面引用的变量也会被一并删除掉
查看引用信息
- 鼠标悬停在某个变量时,会显示变量的详细信息
- 点击“显示详情”可以查看该变量被引用情况,点击引用信息下的某作用域可以实现快速跳转
查看变量
- 跟随用户在画布上选中节点所属的作用域,展示该节点所有可用的变量
- 如果在主流程中不选中任何节点,展示主流程可使用的全局变量
异常提示
当变量类型不匹配,或引用变量不正确,或变量名称重复时会进行异常提醒
变量一键转换为参数
右键点击变量,在菜单中可以选择转换为输入或输出参数
元素捕获
捕获模式
捕获元素目前为5种,常规捕获模式、CV捕获模式、图片捕获模式、表格捕获模式、UIA捕获模式:
模式 | 快捷键 | 描述 |
---|---|---|
常规捕获模式 | F1 | 用于捕获大部分软件,基于GUI元素属性定位目标元素 |
CV捕获模式 | F2 | 用于其他捕获模式无法捕获的情况,基于屏幕图像理解,记录元素特征定位目标元素 |
图片捕获模式 | F3 | 用于其他捕获模式无法捕获的情况,基于图片定位目标元素 |
表格捕获模式 | F4 | 用于捕获表格中的行列信息,定位单元格 |
UIA捕获模式 | F5 | 用于捕获使用UIA框架编写的客户端软件 |
- 点击捕获元素按钮,进入普通捕获模式。
- {F1}常规捕获模式
- {F2}切换到CV捕获模式,若F2无法切换模式,尝试alt+F2
- {F3}切换到图片捕获模式,若F3无法切换模式,尝试alt+F3
- {F4}切换到表格捕获模式,若F4无法切换模式,尝试alt+F4
- {F5}切换到UIA捕获模式,若F5无法切换模式,尝试alt+F5
- {Esc}退出捕获模式
在捕获元素时,会有捕获节点推荐提示:根据用户捕获的元素,自动判断应当适用哪个功能节点,弹窗提示用户“建议您使用XX功能”。
1. 常规捕获模式
- 用于捕获大部分软件,基于GUI元素属性定位目标元素
- Cyclone旧版捕获和其他大部分竞品的捕获元素操作,是会冻结当前界面,此时点击目标元素即完成捕获,但如果当前桌面最上层的应用不是您想要的应用,通常还需要配合延迟捕获等额外功能才能方便使用
- Cyclone新版捕获优化了用户体验,需要按下{Ctrl}+点击(左键右键均可)完成元素捕获,未按下Ctrl键之前的所有鼠标键盘操作均可正常使用
- 有的输入框的表面有一层浮层,因此捕获输入框,建议用户输入文本后再捕获
- 相比于大部分竞品,Cyclone捕获元素无需做抓取模式的切换,可以智能识别当前是什么类型的应用,无需做Java模式/IE模式/CS模式等切换
- 可识别的元素显示红框高亮
- 支持通过F12禁用鼠标事件(如悬停)
2. CV捕获模式
用于其他捕获模式无法捕获的情况,基于屏幕图像理解,记录元素特征定位目标元素
元素捕获时,按下快捷键F2进入CV捕获模式
a.机器配置
- 推荐8g内存,i7CPU
- 最低4g内存,i5CPU
b.升级须知
- CV识别功能在3.2进行了全面升级,使用的是新的识别模型,提高了识别速度和准确率。
- 此功能优化后不兼容老版本的CV模型,所以如果流程中使用了之前的CV功能,升级后需要重写CV识别相关的节点
- 支持通过F12禁用鼠标事件(如悬停)
c.具体操作
- 元素捕获时,快捷键F3可切换捕获模式至CV识别;
- 用户需要先选中一个目标窗口,未选择窗口前,用户可快捷键切换至F1属性定位或F2图片匹配
- 此时需等待CV返回识别结果
- 正在识别时,不要进行其他的鼠标键盘操作
- 识别后,用户鼠标移动到可识别元素的高亮框时,按下Ctrl+点击,完成CV捕获
3. 图片捕获模式
- 用于其他捕获模式无法捕获的情况,基于图片定位目标元素
- 元素捕获时,按下快捷键F3切换至图片匹配;
- 用户点击屏幕任意位置后,进入截图模式,自动隐藏左上角面板提示,此时不可再使用快捷键进行模式切换。
- 示例链接:当当网
- 截取购物车的图片,点击完成完成图片捕获
- 支持通过F12禁用鼠标事件(如悬停)
4. 表格捕获模式
用于捕获复杂表格中的单个元素
5. UIA捕获模式
用于捕获使用UIA框架编写的客户端软件
6. CV表格捕获模式
功能说明:
使用CV(Computer Vision)技术捕获表格中的行列信息,定位单元格
具体操作:
- 点击画布节点上的【CV抓取表格数据】按钮,打开向导,点击【捕获元素】按钮,进入【元素捕获】模式
- 选择需要识别的表格所在的范围,等待识别运算
- 解析表格结构失败,或未解析出表格结构,返回设计器,在设计器中toast提示用户:“未识别表格结构,请重新捕获”
7. 禁用鼠标事件开关
按下F12可以开启禁用鼠标事件的开关,开启后,目标界面不会响应用户的鼠标悬停事件,主要应对的使用场景是:鼠标移上去时目标元素会变,无法捕获变化前的元素
8. 功能组件的捕获模式
二级目录 | 名称 | 描述 | **支持的捕获模式 ** |
---|---|---|---|
应用和浏览器 | 启动应用程序 | 打开指定的应用程序 | 窗口 |
关闭应用程序 | 录制一段关闭应用的界面操作,或强行关闭一个应用程序 | 窗口 | |
打开浏览器 | 打开浏览器,并加载指定网页 | 不需捕获 | |
打开新标签页 | 打开新标签页,并前往指定的网址 | 不需捕获 | |
激活标签页 | 激活目标浏览器中的一个标签页,让后续相关的操作在正确的目标上执行 | 不需捕获 | |
关闭标签页 | 关闭已打开的标签页 | 不需捕获 | |
刷新/前进/后退 | 对指定网页进行刷新、前进、回退操作 | 不需捕获 | |
执行JS脚本 | 向目标网页中的iframe注入并执行JavaScript脚本 | 不需捕获 | |
获取网页URL | 获取当前页面的网址URL | 不需捕获 | |
获取网页Cookie | 获取网页的Cookie数据 | 不需捕获 | |
设置网页Cookie | 设置网页的Cookie数据 | 不需捕获 | |
输入文本 | 在指定的输入框中输入文本(自动清空后输入、输入后校验) | 常规,CV,图片,表格,UIA,CV表格 | |
发送热键 | 对当前激活窗口或有焦点的元素,模拟发送键盘按键 | 常规 | |
选择选项 | 在下拉列表、列表框中选择一个选项 | 常规,表格 | |
勾选/取消勾选 | 将单选框、复选框元素的勾选状态设置为勾选或取消勾选 | 常规,表格 | |
鼠标悬停 | 移动鼠标至指定目标位置并悬停 | 常规,CV,图片,表格,UIA,坐标,CV表格 | |
鼠标拖拽 | 模拟鼠标将元素拖拽至指定位置 | 录制,坐标 | |
鼠标滚动 | 在当前激活窗口滚动鼠标滚轮 | 不需捕获 | |
获取鼠标位置 | 获取当前鼠标光标所在位置 | 不需捕获 | |
表格/列表 | 抓取表格数据 | 批量抓取标准表格和列表(相似元素)数据,可自动翻页 | 表格 |
抓取结构化数据 | 在网页中批量抓取相似元素数据,如列表页 | 常规 | |
CV抓取表格数据 | CV表格 | ||
抓取下拉列表数据 | 抓取下拉列表、列表框中 所有/选中 选项的内容和数量 | 常规,表格 | |
查找相似元素 | 在网页上查找多个相似元素,将元素列表输出到数组 | 常规 | |
文本 | 点击文本 | 还没有这个节点 | 常规 |
获取文本 | 获取元素的文本内容(Value属性) | 常规,表格 | |
读取可见文本 | 采用系统注入的方式获取可见文本,目前仅支持常见的证券软件(如同花顺) | 常规,区域 | |
按文本查找元素 | 在网页上查找指定文本的元素 | 常规 | |
获取树子节点 | 在客户端软件的目录树中,获取指定目录下的所有子节点的名称 | 常规,表格 | |
元素 | 判断元素是否存在 | 判断元素是否存在,返回布尔值true/false | 常规,CV,图片,表格,UIA,CV表格 |
等待元素出现 | 进行元素操作前最好等待元素出现 | 常规,CV,图片,表格,UIA,CV表格 | |
编辑元素属性 | 编辑或删除网页元素的指定属性 | 常规 | |
获取元素属性 | 获取界面中指定元素的属性信息 | 常规,表格 | |
获取元素颜色 | 获取界面中指定元素的颜色信息 | 常规,坐标 | |
获取元素位置 | 获取界面中指定元素的位置信息 | 常规,表格 | |
元素截图 | 对界面元素进行截图,并将结果保存至指定文件夹 | 常规,表格 | |
滚动截图 | 垂直或水平滚动后截图,并拼接成完整的长截图 | 常规 | |
查找子元素 | 获取目标元素下的所有子元素,返回获取到的子元素,仅支持网页元素 | 常规 | |
查找父元素 | 获取目标元素向上一级的父元素,返回获取到的父元素,仅支持网页元素 | 常规 | |
Xpath查找元素 | 通过目标元素的XPath路径,获取目标元素并保存到对象 | 不需捕获 | |
锚点查找元素 | 在网页上基于固定的锚点查找目标元素 | 常规 | |
窗口 | 激活窗口 | 将目标窗口置顶,便于后续的前台操作 | 不需捕获 |
关闭窗口 | 使用后台的方式关闭目标窗口 | 不需捕获 | |
设置窗口状态 | 使用后台的方式最大化、最小化目标窗口 | 不需捕获 | |
高级功能 | 查找OCR文本位置 | 使用OCR技术在目标范围内查找文本,输出目标文本所在的坐标位置 | 常规 |
OCR通用文本识别 | 自研OCR通用文本识别模型,可识别单行文本 | 常规,区域 | |
OCR验证码识别 | 自研OCR验证码识别模型,可识别4-6位数字英文验证码 | 常规,区域 | |
第三方服务商OCR | 使用第三方服务商OCR识别,需申请特殊license | 不需捕获 | |
获取个人微信聊天记录 | 捕获聊天对话框里的任意一条对话,执行时将获取当前激活的微信对话框里可见的聊天记录(不支持企业微信) | 常规 |
元素属性
什么是元素属性?
可以简单理解为这个元素的特征,机器人需要定位一个元素,需要基于元素的特征来查找。就像一个人的特征,姓名是张三,性别是男…
元素的特征有很多,比如宽是200,长是100,类型是按钮,文字是确定…
为了找到正确的元素,正确的元素特征非常重要。
窗口属性
- 目标元素所在窗口的相关属性
- 一般只需关注name属性,代表窗口标题
- 某些业务场景下窗口标题是容易变化的,比如登录后窗口标题带有登录名信息,比如翻页后窗口标题带有页码信息
元素属性
目标元素自身的属性特征
- 有info图标:用户最直观的感受是,这类属性勾选或不勾选好像都会生效,这是为什么呢?这一类属性我们称之为查找属性,为了增强元素捕获的稳定性,底层会进行多轮查找,分别使用不同的特征组合进行查找,找不到时会自动降权,舍弃不重要的特征,所以,哪怕这些属性值变化了,理论上也不会影响找到正确的元素
- 没有info图标:这类属性的勾选状态是完全生效的,我们称之为匹配属性,在用不同特征进行查找之后,有可能查找到多个元素,将找的元素与被勾选上的匹配属性进行匹配,看是否是正确的
在界面上众多的元素中找到正确的目标元素,就像我们想在淘宝网站中找到心意的商品,比如商品的特征是:北欧、花瓶、白色、雕花,第一次我们用四个特征去搜索商品,可能会有3种结果:
1
2
3①找到了多个商品(类比找到多个元素)
②找到了1个商品(类比找到1个元素)
③没找到任何商品(类比没有找到元素)结果③,会走向”降权查找“:
- 第二轮查找,我们用三个特征“北欧、花瓶、白色”再找一次
- 如果第二轮还是没找到任何商品,第三轮我们用两个特征“花瓶、白色”再找一次
- 以此类推
结果①和②,会走向”匹配属性“:
“匹配属性”,就类似再加了一条过滤器,比如我就想要XX淘宝店的花瓶,这样再筛选一下,可能会有3种结果:
1
2
3①找到了多个商品,这时第一条商品就会被认为是心意商品(类比正确的目标元素)
②找到了1个商品,它被认为是心意商品(类比正确的目标元素)
③没找到任何商品(类比报错:找不到目标元素)
匹配方式
【精准匹配】基于固定值或变量值,可在输入框中输入固定值,或@引用变量
【通配匹配】支持通配符“*”和“?”
- *:代替零个、单个或多个字符
- ?:代替一个字符
【正则匹配】
- 支持Perl正则表达式,详见链接:https://www.runoob.com/perl/perl-regular-expressions.html
- 实现的是regex_search功能,实现部分匹配而不是完全匹配,举例来说,如果目标元素是“百度一下,你就知道“,如果选择了正则匹配,匹配值为”百度“,是可以匹配上的
属性列表
元素类型 | 属性名 | 描述 | 是否支持通配匹配 | 是否支持正则匹配 | **是否区分大小写 ** |
---|---|---|---|---|---|
Windows元素 | category | 元素类别,WINCONRTROL代表是CS结构的应用 | YES | NO | YES |
Windows元素 | winClass | Windows元素的具体类型,比如输入框、按钮 | YES | NO | YES |
Windows元素 | name | Windows元素的文本属性 | YES | YES | YES |
Windows元素 | role | Windows元素类型 | NO | NO | YES |
Windows元素 | width | Windows元素宽度 | NO | NO | YES |
Windows元素 | height | Windows元素高度 | NO | NO | YES |
Windows元素 | left | Windows元素距离所在窗口左侧边缘的距离 | NO | NO | YES |
Windows元素 | top | Windows元素距离所在窗口上方边缘的距离 | NO | NO | YES |
Windows元素 | index | Windows元素的顺序 | NO | NO | YES |
Windows元素 | value | Windows元素输入的文本 | YES | YES | YES |
Java元素 | category | 元素类别,JAVACONRTROL代表是Java应用 | YES | NO | YES |
Java元素 | name | Java元素文本属性 | YES | YES | YES |
Java元素 | role | Java元素类型 | NO | NO | YES |
Java元素 | width | Java元素宽度 | NO | NO | YES |
Java元素 | height | Java元素高度 | NO | NO | YES |
Java元素 | left | Java元素距离所在窗口左侧边缘的距离 | NO | NO | YES |
Java元素 | top | Java元素距离所在窗口上方边缘的距离 | NO | NO | YES |
Java元素 | index | Java元素的顺序 | NO | NO | YES |
Java元素 | value | Java元素输入的文本 | YES | YES | YES |
IE元素 | category | 元素类别,IECONRTROL代表是IE浏览器 | YES | NO | YES |
IE元素 | tagName | IE元素的标签属性,如HTML、DIV、LI等 | NO | NO | YES |
IE元素 | type | IE元素类型,如text、rec等 | NO | NO | YES |
IE元素 | name | IE元素的name属性 | YES | YES | YES |
IE元素 | offsetWidth | IE元素宽度 | NO | NO | YES |
IE元素 | offsetHeight | IE元素高度 | NO | NO | YES |
IE元素 | offsetLeft | IE元素距离父元素左上角的距离 | NO | NO | YES |
IE元素 | offsetTop | IE元素距离父元素上端的距离 | NO | NO | YES |
IE元素 | special | IE元素special属性,非关键属性 | NO | NO | YES |
IE元素 | id | IE元素HTML中的核心属性:唯一标识符id | NO | NO | YES |
IE元素 | index | IE元素的顺序 | NO | NO | YES |
IE元素 | parentId | IE元素的父元素的唯一标识符id | NO | NO | YES |
IE元素 | toParent | IE层级树中第几个父元素有id | NO | NO | YES |
IE元素 | frameURL | IE元素所在的网址链接 | YES | YES | YES |
IE元素 | className | IE元素的class属性,用来对网页元素进行分类。如果不同元素的class属性值相同,就表示它们是一类的 | YES | YES | YES |
IE元素 | value | IE元素的value属性 | YES | YES | YES |
IE元素 | link | IE元素的link属性,为点击该元素后跳转到的链接 | YES | YES | YES |
IE元素 | readOnly | IE元素的只读属性,代表该字段不可编辑 | NO | NO | YES |
IE元素 | innerText | IE元素中包含的所有文本内容 | YES | YES | YES |
IE元素 | outerText | IE元素中包含的所有文本内容,除了作用范围扩大到了包含调用它的节点之外,outerText与innerText基本上没区别 | YES | YES | YES |
IE元素 | styleBackgroundImage | 网页背景图片的url | NO | NO | YES |
IE元素 | styleVisibility | 是否可见,1代表可见,0代表不可见 | NO | NO | YES |
Chrome元素 | category | 元素类别,CHROMECONRTROL代表是Chrome浏览器 | YES | NO | YES |
Chrome元素 | tagName | Chrome元素的标签属性,如HTML、DIV、LI等 | NO | NO | YES |
Chrome元素 | type | Chrome元素类型,如text、rec等 | NO | NO | YES |
Chrome元素 | name | Chrome元素的name属性 | YES | YES | YES |
Chrome元素 | offsetWidth | Chrome元素宽度 | NO | NO | YES |
Chrome元素 | offsetHeight | Chrome元素高度 | NO | NO | YES |
Chrome元素 | offsetLeft | Chrome元素距屏幕左侧边缘的距离 | NO | NO | YES |
Chrome元素 | offsetTop | Chrome元素距屏幕上方边缘的距离 | NO | NO | YES |
Chrome元素 | special | Chrome元素special属性,非关键属性 | NO | NO | YES |
Chrome元素 | id | Chrome元素的id属性,是元素在网页内的唯一标识 | NO | NO | YES |
Chrome元素 | index | Chrome元素的顺序 | NO | NO | YES |
Chrome元素 | parentId | Chrome元素的父元素的唯一标识符id | NO | NO | YES |
Chrome元素 | toParent | Chrome层级树中第几个父元素有id | NO | NO | YES |
Chrome元素 | frameURL | Chrome元素所在的网页URL | YES | YES | YES |
Chrome元素 | className | Chrome元素的class属性,用来对网页元素进行分类。如果不同元素的class属性值相同,就表示它们是一类的 | YES | YES | YES |
Chrome元素 | value | Chrome元素的value属性 | YES | YES | YES |
Chrome元素 | link | Chrome元素的link属性,为点击该元素后跳转到的链接 | YES | YES | YES |
Chrome元素 | readOnly | Chrome元素的只读属性,代表该字段不可编辑 | NO | NO | YES |
Chrome元素 | innerText | Chrome元素中包含的所有文本内容 | YES | YES | YES |
Chrome元素 | outerText | Chrome元素中包含的所有文本内容,除了作用范围扩大到了包含调用它的节点之外,outerText与innerText基本上没区别 | YES | YES | YES |
Chrome元素 | styleBackgroundImage | 网页背景图片的url | NO | NO | YES |
Chrome元素 | styleVisibility | 是否可见,1代表可见,0代表不可见 | NO | NO | YES |
SAP元素 | category | 元素类别,SAPCONRTROL代表是SAP | YES | NO | YES |
SAP元素 | id | SAP的id属性,是SAP元素的唯一标识 | NO | NO | YES |
SAP元素 | type | SAP元素类别,如输入框、按钮等 | NO | NO | YES |
SAP元素 | name | SAP元素的名称 | NO | NO | YES |
SAP元素 | text | SAP元素的文本属性 | NO | NO | YES |
SAP元素 | subType | SAP元素的子类型 | NO | NO | YES |
SAP元素 | width | SAP元素宽度 | NO | NO | YES |
SAP元素 | height | SAP元素高度 | NO | NO | YES |
SAP元素 | left | SAP元素距离?左上角的距离 | NO | NO | YES |
SAP元素 | top | SAP元素距离?上端的距离 | NO | NO | YES |
SAP元素 | index | SAP元素的顺序 | NO | NO | YES |
元素操作
功能入口
右键单击 节点上的元素截图
回显
- 功能说明
用于验证是否能找到正确的目标元素,找到的元素会被红框高亮 - 使用方法
- 点击后会自动激活元素所在的目标窗口,被找到的元素会红框高亮
- 如果未找到元素,会返回设计器并toast提示错误
打开选择器
打开目标元素对应的元素选择器面板,功能详见元素选择器
重新捕获
重新捕获目标元素
移除
移除已捕获的目标元素
UI解析器
用于验证设计器的捕获能力,探测界面上的元素是否可以被捕获。功能详见:UI解析器
智能捕获
功能说明
功能背景
- 原有捕获方式会由于元素变化导致流程稳定性差
- 某些元素变化是用户无感知的,比如是元素底层的属性特征变化、网页HTML源码变化等;但从用户的角度来看,这个元素并没有变化,样式和内容都没有发生变化
功能效果
- 当元素的底层关键特征发生变化,导致找不到元素时,通过智能捕获可以正确找到元素
- 当元素所在的页面发生变化时,比如结构微调或者新增新模块,导致找不到/找错元素时,通过智能捕获可以正确找到元素
功能限制
- 不适用情况:
- 若元素的样式发生变化;或界面上由>1个样式、尺寸相似的元素;
- 若元素的文本内容发生变化;或界面上有>1个文本相同的元素;
- 捕获方式及对象:
- 捕获方式:常规捕获、表格捕获、UIA捕获
- 对象:BS网页、CS客户端、JAVA客户端、SAP
- 支持组件
- 点击
- 输入文本
- 鼠标悬停
- 发送热键
使用说明
在元素选择器中新增:“元素截图”、”OCR查找文本“选项,当元素变化时,作为查找元素的依据
更新fallback查找策略;
查看日志
可以通过%appdata%\speed_dev\logs\engine下面的日志文件中,搜索runAction response关键字,查看指令运行之后的返回结果,通过结果中的extensionCode字段区分是否使用了智能捕获:
- 0 未使用智能捕获
- 1 未找到窗口时,降权到图片查找
- 2 未找到窗口时,降权到OCR文本查找
- 1000 未找到元素时,降权到图片查找
- 2000 未找到元素时,降权到OCR文本查找
前置条件
适用场景
- 捕获Chrome元素、IE元素、Edge元素、Java元素、SAP元素。
- 首次或重新安装设计器,按需安装扩展程序。
- 在电脑A上设计的流程文件,需要在电脑B上执行,电脑B按需安装扩展程序。
具体步骤
打开工具管理->查看帮助文档。可以查看所有扩展程序的安装与启用步骤。
注意事项
系统自动检测捕获插件是否安装,若未安装则会给出友好提示、引导用户一步步安装。
如果捕获的时候,发现目标应用程序的权限高于设计器的权限,提示用户“权限不足,请使用管理员权限运行设计器后再次尝试”。
浏览器插件安装参考文档:浏览器插件
元素选择器
功能入口
可进行回显目标、重新捕获、在UI解析器中查看操作
1. 属性定位模式
属性列表
- 应用:目标元素所在的应用名称,如iexplorer.exe
- 标题:支持引用变量,支持通配、正则匹配
- 目标元素所在窗口的标题,如【百度一下,你就知道 - Internet Explorer】
- 标题中大于20个字符的部分会自动改为*,表示模糊匹配
- 类型:目标元素类型,如radio button,input box,text,tree,list等
- 文本:目标元素中的文本内容,支持引用变量,支持通配、正则匹配
- 如果目标元素中的文本为空(输入框),或者易变,不建议勾选此项
- 此属性不能获取图片中的文本内容
元素类型 - 复杂元素
- 包括列表list、树Tree、表格Table
元素类型 | 列表 - List | 树 - Tree | 表格 - Table |
---|---|---|---|
元素选择器 | |||
注意事项 | 支持选项内容匹配 支持选项序号匹配 | 支持选项内容匹配 不支持序号匹配 | 仅支持根据行号、列号定位单元格 不支持内容匹配 |
2. 图片匹配模式
属性列表
- 置信度:默认置信度为0.75,即查找与图片匹配依据图片相似度75%以上的图片,可以调整(输入值或拖动bar条),仅支持输入0-1范围的精确到0.01的数字,不支持引用变量。
- 匹配范围:默认的匹配范围是目标窗口,可通过选择应用和标题确定匹配范围。
- 支持抗分辨率变化,但有以下限制:
- 等比例缩放,界面布局不能变化
- 目标元素仍在界面可见
- 不可在UI解析器中查看
3. CV识别模式
属性列表
- CV元素截图:CV识别捕获到的元素截图
- CV识别范围:默认的匹配范围是目标窗口,可通过选择应用和标题确定匹配范围。
- 不可在UI解析器中查看
4. CV表格识别模式
属性列表
- 表格号:捕获后自动生成,从0开始计算,可编辑,支持引用变量
- 行:捕获后自动生成,从0开始计算,可编辑,支持引用变量
- 列:捕获后自动生成,从0开始计算,可编辑,支持引用变量
依赖管理
组件管理
组件包入口
在设计器顶部导航栏,点击依赖管理–组建管理,可进入组件管理界面。
组件源配置
组件管理界面左下角,配置组件包来源,可配置来源。
- 本地:当用户安装设计器时,默认会创建本地组件包来源。你可以进行开启与关闭。
- 中控: 如果设计器已连接到中控,则会添加此组件包来源,内部会包含中控已有的组件包。该组件源默认为关闭状态,需要手动开启。
- 应用市场:在有外网的情况下。可以直接连接并展示应用市场源的组件。方便用户自行安装市场上的组件。
- 自定义:用户可选择磁盘或网络文件夹路径作为一个自定义源
- 当流程执行时,组件包的查找顺序为:本地—>中控—>应用市场,既优使用先本地源组件。
组件包信息
在组件包管理主界面,可以查看当前项目依赖、所有可用来源、本地源、中控源(需配置连接)
- 组件包列表
当选中“项目依赖项”Tab,则显示当前项目依赖的组件包列表。在列表项组件包图标、组件包名称、组件包简介、版本号、包的作者等信息。
- 安装提示:用户鼠标hover在未作为项目依赖的组件包上,则显示安装标志,用户点击,即可安装该组件包为项目依赖。
- 卸载提示:用户鼠标hover在已安装的组件包上,则显示卸载标志,用户点击,即可将此组件包从当前项目依赖中移除。
- 可以通过顶部的搜索功能进行按名称搜索组件
- 组件包详情
用户在列表中选中组件包,则在右侧显示组件包详情
详情信息:显示组件包图标、组件包名称、已安装版本号(仅对于已安装的组件包显示)、简介、版本、作者、发布日期、更新说明、此组件包的依赖项。
安装组件:用户也可通过list,或直接点击切换版本按钮,切换到合适版本后再进行安装。
运行时规则
完成组件的安装后,默认会选择“严格”模式。在该模式下,流程发布到执行器执行时,执行器只能使用设计阶段选择的组件版本,如果找不到该版本组件运报告运行异常信息。
如果选择了“兼容”模式,则执行器在找不到设计时的组件版本,会在各个源种寻找并安装兼容的组件版本并运行。该模式保留了运行的灵活度,但组件若出现不兼容的情况,会导致运行的异常。
依赖项管理
- 依赖项列表
安装了新组件后,在项目面板中将显示当前项目的依赖信息。 - 依赖项更新、修复、删除
在依赖组件包上,点击右键。可以进行组件包的管理、删除、修复操作。
- 打开组件包管理:点击即可打开组件包管理界面
- 删除依赖项:点击即可删除当前依赖项,具体见下方删除依赖项。
- 修复依赖项:对于安装失败的依赖项,会出现修复依赖项按钮。你可以点击修复进行依赖项修复。
代码包管理
功能入口
在设计器的依赖管理–代码包管理功能中,点击后可打开代码包管理弹出层。
代码包管理
在代码包管理界面,你可以查看 系统内置、扩展包、自定义三类代码包。可以使用搜索栏,检索已经安装好的代码包。
- 系统内置
系统内置了36种设计器所必须依赖的代码包,你可以点击“+”号图标,查看内置的代码包。 - 扩展包
扩展包是官方支持的,但未内置到设计器安装包中的代码包,可按以下步骤进行安装操作。
a. 点击管理主界面右侧 “安装扩展包”按钮,打开扩展包安装界面。并在界面中点击获取代码扩展,进行下载。
b. 下载完成后,在安装界面点击路径按钮添加扩展包,并开始安装。当完成安装后,你可以返回到代码包主界面查看已经完成安装的扩展包。 - 自定义(实验室功能)
自定义包因为存在未知的兼容性风险,建议谨慎使用该功能。
如需使用,请按如下步骤操作:
a. 先进入设计器的设置中心,并开启实验室功中的”代码包管理”
b. 再次进入到代码包管理界面,可以看到地磅出现了安装包的功能按钮。
c. 点击安装包按钮,可以打开包安装工具界面,你可以通过代码源安装所需的代码包。
AI模型管理
OCR验证码识别组件
功能说明
- 由于【OCR验证码识别】组件依赖的模型文件在不断训练升级,且模型文件大小高达200M,所以这次功能升级就是将这个模型文件从设计器执行器的安装包中移除,模型文件上线到弘玑官方市场上统一管理
使用场景
- 使用【AI能力>OCR>OCR验证码识别】组件时,需要安装依赖的模型文件包
- 如果觉得OCR识别准确率不高,可以联系技术支持或产品运营定制化训练后,用新模型替换旧模型
使用方法
设计器
- 使用【OCR验证码识别】组件时,会检查是否存在依赖的OCR模型,如果没有会报错提醒,点击“前往安装”会跳转至AI模型管理面板
- “AI模型管理”入口在工具栏的“依赖管理”下,可在线安装或离线安装
- 在线安装:使用前提是需要确保设计器所在设备可以访问弘玑官方市场(https://marketplace.cyclone-robotics.com/)
- 离线安装:如果设计器所在设备无法访问,可以采用本地导入的方式离线安装
- 如果是离线安装,从哪里获取OCR验证码模型文件?
- 前往弘玑官方市场,需要使用账号密码登录(公司的LDAP账号),登录后可下载最新版OCR验证码模型文件
- 如果当前最新版的模型文件识别效果不佳,也可联系技术支持或产品运营进行定制化训练,从离线安装入口导入新模型文件进行替换
执行器
- 如果要跑的流程中使用到了OCR验证码识别组件,则需要相应在执行器中导入OCR验证码模型
- 新增【AI模型管理】在执行器托盘右键下
旧版组件(erpa)
旧版组件的本地导入
在旧版组件管理中,选择【本地】可以将获得的新组件导入到组件库中。
选择 ① 本地,选择②导入组件,可以选择③单个erpa文件或者选择④存放erpa的文件夹批量导入。
当有新版本的外部组件需要更新时,选择⑤可以进行新组件更新升级。
当需要将组件导出到其他项目或计算机时可以选择⑥进行导出。
不需要再项目中运行或需要将组件移除流程时,可以选择⑦进行禁用,此时流程当中所用到的此功能组件将无法使用。
如果项目中不在需要此组件时可以选择⑧进行删除。
选择⑨开发工具可以对此组件进行测试,已经修改等功能。
- 调试:进行组件运行测试。
- 功能测试会对导入的节点进行功能和属性上的测试,主要用于自定义的组件。
- 重新编译:主要针对重新进行修改和编辑后的组件进行编译,编译完成后可以在插件功能测试中显示改动的新功能和属性。
- 编辑Schema:对已经编写好的功能组件进行修改和自定义更新。
注意
⑨的部分开发工具功能属于实验室功能,如需使用请与官方技术支持人员联系。
旧版组件市场
选择共享后可以看到提示,需要连接到应用市场,此时可以查看 Designer Pro 连接中心
数据抓取
使用场景
用于抓取目标软件中的表格数据和结构化数据,比如:
- 表格
- 结构化数据
使用说明
表格
- 如果是抓表格,请捕获表格中的一个单元格
- 可选择要抓取整个表格,或是仅抓取单列数据,或者仅抓取单行数据
- 点击继续,将自动爬取数据后,展示在数据预览界面,左下角会统计抓取行数和列数
- 左上角有开关控制 首行是否作为表头,默认不开启
- 根据引导,如果需要翻页的情况,可继续捕获下一页按钮
- 注意,此翻页不适用于瀑布式加载的情况
- 页码组指的是没有下一页按钮,只能选择页面序号的情况
- 如果不需要翻页,可点击“仅抓取当前页”
结构化数据
- 如果是抓结构化数据,比如当当热销书榜单的书名、作者、价格,需要一列一列数据捕获,请先捕获第一列书名的其中一个元素,比如第一个书名
- 根据提示,再捕获第一列书名的另一个元素,建议找个离第一个元素距离比较远的,比如倒数第一个元素
- 捕获成功后,会红框高亮所有的相似元素
- 捕获成功后,可以选择将元素的URL链接输出到单独列,URL指的是点击这个元素会跳转到的网址链接,可以按需选择是否要输出
- 下一步可将数据抓取出来,列名默认值是column1,2,3…支持修改列名
- 接下来还要捕获第二列作者信息,点击“新增列”按钮,继续用同样的方法捕获作者元素
- 捕获了这两个元素后(一个是单个作者,一个是多个作者),却提示错误了,说明这两个元素并不在网页的同一个层级,也就是说,他们在网页源码层面上并不相似
- 点击“重新捕获”,我们再尝试一次,这次我们去捕获单个作者,就成功了
- 同样的,可以将列名改为“作者”
- 接下来捕获价格,也是同样的方法
组件属性
弹窗监控
使用场景
- 流程运行过程中,可能会不定时的出现弹窗干扰,导致流程异常
- 常见的弹窗可以分为三种:
- 80%为浏览器弹窗,关闭后流程可以继续运行
- 15%为客户端软件内弹窗,如更新通知
- 5%为系统级别的弹窗,可能无法关闭,或关闭后机器人不能继续运行
- 弹窗出现的时间不固定,在流程运行时,随时可能跳出弹窗,并且不同弹窗的处理方式也不同
功能描述
解决全流程执行过程中,不定时弹出的已知弹窗
- 不定时:不确定何时弹出,降低了流程的开发和执行效率
- 已知弹窗:弹窗需要是在流程设计中,遇到过的已知弹窗
注意事项
- 连贯的原子性业务操作(如多次展开下拉框)如果被弹窗中断(下拉框可能会被折叠),关闭弹窗后无法返回中间步骤继续执行;建议搭建流程时将连贯操作放到一个try-catch整体中重试
- 弹窗出现时被阻断的业务操作是不确定的;建议在弹窗监控节点后校验关闭弹窗操作是否被正确执行
- 每个流程的弹窗监控最多可以设置开启10个任务,但出于性能考虑,建议弹窗监控不超过五个
使用说明
并行弹窗监控功能将对指定的.flow流程文件监控;
添加弹窗监控后,会在左侧项目栏中为添加过的流程文件名后显示监控
对流程添加弹窗监控后,可设置:
- 捕获弹窗元素:
- 捕获弹窗元素支持Windows内核弹窗和Chrome内核弹窗
- 捕获模式支持:常规、表格、UIA
- 当捕获的弹窗为Chrome内核弹窗时,将在运行时通过对浏览器进行代码注入的方式,自动拦截该弹窗;
- 捕获弹窗元素:
注意
注意:
由于向浏览器注入拦截代码需要耗时,请确保流程总的运行时长不短于10秒
- 当捕获的弹窗为windows弹窗时,需要用户手动设置处置流程。
- 以截图中的消息提醒弹窗为例,可通过点击(坐标偏移)去关闭弹窗
- 对每一个弹窗,支持三种操作方式::点击、输入文本、发送热键
- 执行时将打印监控任务的日志
日志将保存在以下目录:“%appdata%/cyclone/logs/monitor”
QA
问题:开启了弹窗监控,要关闭的是Chrome内核的弹窗,但却发现关不掉
解决办法:如果这个弹窗是在打开Chrome浏览器后很快就出现的,建议在打开浏览器前加等待10秒,原因是关闭chrome弹窗的方式是通过注入JS脚本实现的,注入需要一定时间
工具管理
小工具
UI解析器
用于验证设计器的捕获能力,探测界面上的元素是否可以被捕获。功能详见:UI解析器
Inspect小工具
微软提供的官方捕获小工具,用于验证目标程序的元素是否按微软接口规范开发,不符合规范的元素是无法使用常规捕获的。
诊断工具
收集电脑硬件环境,以及日志信息。详见说明:诊断工具
Cyclone浏览器
内置的浏览器,如果您的流程涉及网页自动化,推荐您使用此浏览器。
恢复分辨率助手(Remote Helper)
帮助执行器所在的远程桌面恢复界面,如果您的流程涉及界面操作、且将在虚机中执行,建议您先使用此工具查看可恢复的分辨率列表,详见使用说明恢复分辨率助手 。
远程连接助手(Remote Manager)
当您的机器人被部署在远程桌面上(无人值守场景),您可在另一台独立的机器上安装远程连接助手并连接上中控,可在中控上配置执行流程时所需的分辨率,增强流程稳定性。详见说明远程连接助手
clog查看工具(logviewer)
用于Clog日志内容的基本阅读。若你需要分析较大日志,建议你通过日志导出功能将日志还原(设置-诊断-导出日志),然后使用如notpad++等工具进行分析。
插件
Chrome插件
安装Chrome插件,用于Chrome浏览器自动化操作。
Edge插件
安装Edge插件,用于Edge浏览器自动化操作。
Java插件
安装Java插件,用于Java应用程序自动化操作。
IE插件
安装E插件,用于IE浏览器自动化操作。
Firefox插件
安装Firefox插件,用于Firefox浏览器自动化操作。
360安全浏览器插件
安装360浏览器插件,用于360安全浏览器自动化操作。
PS2驱动
安装PS2键盘驱动,常用于输入密码控件。
HID驱动
安装HID键盘驱动,常用于输入密码控件。
FAR驱动
安装FAR键盘驱动,常用于在远程桌面的密码控件中输入
微软远程桌面插件
安装微软远程桌面插件,用于微软远程桌面自动化操作,注意需要在远程桌面中安装相应程序。
详见产品手册:微软远程桌面插件
Citrix插件
安装Citrix插件,用于Citrix程序自动化操作,注意需要在Citrix中安装相应程序。
Inspect小工具
使用场景
- 使用元素捕获功能时,常规、UIA、表格捕获模式不能正常捕获时(鼠标移动到目标元素时没有红框高亮)
- 想知道常规/UIA/表格捕获模式是否能够适配,可以先用Inspect小工具进行捕获
- 提问题工单时可以附上Inspect小工具的抓取截图
使用方法
- 前往设计器安装目录…\extra_resources\recorder\tool
- 使用管理员权限启动Inspect.exe进行捕获
- 用MSAA和UIA分别尝试一下,看下能否在目标元素上画出黄色框框:
- 如果能画出黄色框框,请提问题工单,产研将相应适配这种场景,可以支持捕获
- 如果不能画出黄色框框,可以捕获目标元素所在的窗或者区域后,尝试一层一层展开元素DOM树
- 如果无法展开更下层,说明内部元素无法被捕获,常规捕获无法适配,请用其他绕行方案(图片匹配、CV、快捷键、OCR等)
- 如果是CS客户端,查看Role属性
- 如果是Role属性值是文档,可以推断这个软件应该是一个内嵌网页,可能可以适配,请提工单
- 如果是Role属性值是窗格,可以推断这个情况是由于微软没有提供接口,竞品友商都是抓不到的,请用其他绕行方案(图片匹配、CV、快捷键、OCR等)
- 案例说明:
- 内网通的内部元素不可被捕获。
- 招行CBS7内部元素可被捕获。
诊断工具
使用场景
诊断工具,主要两个能力。
对安装RPA软件的设备进行预检,快速了解电脑的软件硬件信息。
用于发生故障时候,对设备的硬件、系统、软件、RAP及日志进行全面的搜集并打包,提交到研发同学定位问题。
使用说明
1. 如何获取
- V4.5以下版本:独立绿色版的EXE小工具,可以像产品运营同学 申昌港获取。
- V4.5及以上版本:通过工具管理打开
2. 检测功能
1 | 1. 用户点击“检测”按钮后,软件会调起资源管理器弹出层,选择路径后进行保存报告。 |
恢复分辨率助手(Remote Helper)
功能说明
恢复分辨率助手(RH)是一个独立的应用程序,可以帮助机器人恢复远程桌面的连接,可独立安装使用,无需升级设计器和执行器的版本。
适用场景
无人值守/远程机器人通常被部署在云桌面上,在机器人执行控界面元素相关操作时,如果用户断开了远程连接,电脑系统会回收鼠标键盘权限,导致机器人相关操作执行失败,因此需要Remote Helper帮助机器人恢复远程桌面的连接。
已知问题
- 支持Vmware, 微软云、阿里云、腾讯云、Windows远程桌面
- 不支持win-server多用户登录的场景(一个恢复分辨率助手(RH)只能服务于一个用户,一台电脑只能开启一个恢复分辨率助手(RH),也就是说在多用户登录的场景下,只有一个用户断开远程桌面后能使用恢复分辨率助手(RH)帮助机器人恢复)
- 不支持win server 2008
- 不支持Citrix、华为云(目前恢复分辨率助手(RH)无法正常工作)
- 如遇上述场景,请使用远程连接助手(Remote Manager)
使用方法
安装方法
- 前往设计器的安装目录下\extra_resources\recorder,确保存在以下三个文件:
- RemoteHelper.exe
- RemoteHelper_Detail.bat
- RemoteHelper_Monitor.bat
- 确保与action_gui.dll文件在平级目录,不能用文件夹隔开;
- 确保AgentHelper.exe进程不处于运行状态;
- 确保tscon.exe进程不处于运行状态;
- 确保没有运行过close-rdp.cmd脚本。
RemoteHelper_Detail.bat
- 运行RemoteHelper_Detail.bat文件,可以让实施人员提前知道,这台云桌面(即执行器所在的设备)可以使用恢复分辨率助手(RH)自动恢复到哪几个分辨率;
- 设计流程时使用的电脑分辨率(即设计器所在的设备),应尽可能的与推荐的分辨率一致,以增强稳定性;
RemoteHelper_Monitor.bat
- 运行RemoteHelper_Monitor.bat文件,可以让远程连接断开后,帮助机器人恢复远程桌面的连接,以确保执行器正常工作;
- 这个不需要每次断开前都执行,注意在每次电脑重启/注销之后,手动执行一次即可。
远程连接助手(Remote Manager)
使用场景
无人值守/远程机器人通常被部署在云桌面上,而在用户断开了云桌面的远程连接时,系统会回收鼠标键盘权限,导致机器人执行前台操作时失败,需要产品化解决方案,应对这种场景
前提条件
- 已部署中控,远程连接助手(RM)需要使用中控账号登录
- 远程连接助手(RM)需要被安装于一台Windows系统的电脑上,这台电脑可以使用远程桌面连接(mstsc)连接到所有执行器所在的云桌面
- 如果远程连接助手(RM)安装在云桌面,注意RM不能自己连接自己,所以这台云桌面不能断开连接
- 电脑配置要求
- 系统要求:WIN7及以上
- 连接一个机器人要100~150M内存
- 举例:8G内存电脑可以连接50+个远端机
功能介绍
什么是远程连接助手RemoteManager(RM)?
- 用于管理执行器所在的云桌面
- 可以模拟远程连接到云桌面,确保云桌面都在连接状态下执行流程
为什么需要远程连接助手RemoteManager(RM)?
- 使用RM用户可以配置连接云桌面时的分辨率,解决目前用户的痛点问题:
- 分辨率变化很大,导致流程不稳定
- 低分辨率下开发,用户体验不好
远程连接助手(RM)和恢复分辨率助手RemoteHelper(RH) 的关系?
- 两者并不冲突,可以配合使用
- 恢复分辨率助手(RH)适合的场景:
- 客户购买的无人值守/远程机器人数量较少,比如只有一两台
- 客户不愿耗费多一台机器的资源用于安装远程连接助手(RM)
- 流程执行不受分辨率变化影响或影响较小
使用说明
1.连接至中控
- 确保使用的中控账号 拥有执行器设备管理权限
2.在中控上管理远程连接助手
连接成功后,进入连接列表页面,展示当前受中控调度去连接了哪些云桌面(不再支持RM本地连接云桌面的方式)
连接成功后,中控的远程桌面连接助手列表页会新增一条RM设备,状态为可用,可配置最大连接数,表示最多可连接多少个云桌面
在中控流程列表开启远程助手
- 在中控上传了一个包含“界面自动化”操作的流程,且设计器版本是4.4beta及以上,会在流程详情看到流程设计时的分辨率
- 如果希望该流程在设计时分辨率下执行,可开启远程连接助手,开启后会在流程下发到执行器时,自动调度远程连接助手RM、以该分辨率连接执行器所在的设备
注意
仅在流程执行前 中控会下发一次连接任务到RM,也就是说,如果在执行过程中有人连接到远程桌面的话,会踢掉RM的连接,且RM不会再次进行连接
- 启用远程连接助手时,可以选择如果RM连接失败,流程是否还继续执行,默认是继续执行
捕获远程桌面插件
使用场景
- 随着云桌面在企业中的广泛应用,前场会遇到这样的场景:RPA需要操作的应用软件安装在远程桌面,而设计器和执行器则安装在本机/另一台虚机
- 设计器在捕获元素的时候,没法捕获到在远程桌面上的元素
- 在加入抓取远程桌面插件后,将支持微软远程桌面/Citrix等常见的远程桌面工具,实现对远程桌面元素的捕获
使用前提
支持对象:微软远程桌面/Citrix
- 远程桌面必须是Windows系统,已验证支持Win7、Win10、win sever 2016
- 需要同时在设计器端和远程桌面端安装插件
- 设计器端和远程桌面端都需要使用管理员权限安装插件
使用说明
插件安装
- 在设计器端安装
- 以管理员身份运行设计器
- 退出已开启的远程桌面
- 前往“工具管理”,点击安装“微软远程桌面”、“Citrix插件”
- 插件安装成功后,打开远程桌面进行远程桌面端的安装
在远程桌面中安装
- 在设计器安装目录下,寻找“…\cyclone\extra_resources\recorder\tool\RemotePackage”文件夹
- 将“RemotePackage”文件夹复制到远程桌面中
- 如果需要在远程桌面中捕获IE、Chrome、…,需要以管理员身份运行”…\RemotePackage\InstallAsAdministrator.bat”,安装常用的浏览器插件
- 管理员身份运行“…\RemotePackage\cyclone_remote.exe”,等待进程出现在任务管理器中,即可实现对远程桌面的捕获
- 注意如果远程桌面重启了,需要再次手动启动该进程
插件卸载
在设计器卸载
- 卸载设计器时会自动卸载插件
在远程桌面中卸载
- 如需卸载远程桌面中安装的浏览器插件,需要以管理员身份运行“…\UninstallAsAdministrator.bat”,卸载安装的浏览器插件
元素选择器更新
- 当用户捕获远程桌面中的元素后,元素选择器会多一层数据:
- 远程桌面窗口标题,支持修改
- 远程桌面类型
UI解析器更新
- 当用户捕获远程桌面元素之后,UI解析器会多一层数据:
- 远程桌面窗口标题
- 远程桌面类型
- 远程桌面窗口的宽高左上
Chrome浏览器插件 安装说明
一、检查插件
- 查看插件安装和打开状态,可以通过三种方式打开。
①拼图按钮->管理扩展程序
②三点按钮->更多工具->扩展程序
③在Chrome地址栏直接输入chrome://extensions/,敲击回车
④在打开的页面确认是否有Cyclone Automation Tool的扩展,并且已经打开。
二、安装方式
设计器软件安装时自动安装插件
Chrome插件在设计器安装时会自动安装(安装时需要关闭浏览器,否则会强制关闭),再次打开浏览器页面会提示打开插件。
注意:再次打开浏览器页面时,请务必手动点击打开插件按钮。
设计器软件中手动安装(推荐)
点击左侧边栏工具管理按钮,点击Chrome插件旁边的“安装”按钮(安装时需要关闭浏览器,否则会强制关闭)。
此时会弹出你要允许此应用对你的设备进行更改吗?点击是,等待自动安装完成即可。
再次打开浏览器页面,页面右上角会提示打开插件,请手动点击“启用扩展程序”。
其他安装方式
在设计器的安装目录下\extra_resources\recorder找到文件SpeedAutomationTool.crx,并将它拖入Chrome扩展管理的页面
右上角打开开发者模式后,将SpeedAutomationTool.crx文件拖入即可安装,如果不能拖入安装,需要进行
在地址栏输入chrome://flags/#extensions-on-chrome-urls,并把黄色高亮选项改为enabled。
三、启用扩展
- 方式一:浏览器提示启用
- 扩展安装完毕后,初次打开浏览器,会弹出一个提示,这时需点击启用扩展程序按钮
- 方式二:手动启用
- 点击浏览器右上角的①三个点状按钮(自定义及控制Google Chrome)按钮,打开菜单
- 点击②更多工具(L) 选项,展开更多工具菜单
- 点击③扩展程序(E)选项,打开扩展程序页面
- 找到Cyclone Automation Tool,点击开关
IE浏览器插件
IE插件在设计器安装时会自动安装(安装时需要关闭浏览器,否则会强制关闭)并打开。
一、检查插件
查看插件安装和打开状态,检查是否已安装并开启IE加载项
点击设置>管理加载项
启用名称为【BridgeIEBHO Class】的加载项, - 只需启用一次,启用后重启IE即可正常抓取IE元素
二、安装插件
- 设计器软件中手动安装(推荐)
- 如果在IE找不到对应的加载项,则需要手动安装插件。首先点击左侧边栏工具管理按钮,点击IE插件旁边的“安装”按钮(安装时需要关闭浏览器,否则会强制关闭)。
- 此时会弹出你要允许此应用对你的设备进行更改吗?点击是,等待自动安装完成即可。
- 再次打开IE浏览器,启用BridgeIEBHO Class加载项,重启浏览器后即可正常捕获元素。
- 其他安装方式
- 在设计器的安装目录下\resources\runTime\cpp找到文件InstallAsAdministrator.bat关闭IE浏览器后,使用管理员权限运行bat文件
- 此时会弹出你要允许此应用对你的设备进行更改吗?点击是,进入命令提示符界面,等待命令提示符代码自动运行完。
- 再次打开IE浏览器,启用BridgeIEBHO Class加载项,重启浏览器后即可正常捕获元素。
三、启用加载项
- 点击设置>管理加载项
- 启用名称为【BridgeIEBHO Class】的加载项(若找不到该加载项请看IE浏览器插件 常见问题 )
- 只需启用一次,启用后重启IE即可正常抓取IE元素
Edge浏览器插件
Edge插件在设计器安装时会自动安装(安装时需要关闭浏览器,否则会强制关闭)并打开。
一、检查插件
查看插件安装和打开状态
点击拼图按钮->管理扩展
在地址栏输入edge://extensions/,查看是否有
查看是否有名为Cyclone Automation Tool的扩展和打开的状态,如果未打开,点击按钮打开。如果未安装,请按照下面的指南安装插件。
二、安装插件
V3.1.4以前的设计器版本,需要手动安装扩展:
(1)连接外网,需要可以访问谷歌的网上应用商店
(2)打开Cyclone Automation Tool - Chrome 网上应用店 (google.com)
(3)点击安装V3.1.4及以上的设计器版本,可以在设计器软件中手动安装(推荐)
如果在Edge找不到对应的加载项,则需要手动安装插件。首先点击左侧边栏工具管理按钮,点击Edge插件旁边的“安装”按钮(安装时需要关闭浏览器,否则会强制关闭)。
此时会弹出你要允许此应用对你的设备进行更改吗?点击是,等待自动安装完成即可。
再次打开Edge浏览器,在右上角弹出界面中选择“打开扩展”按钮。
其他安装方式
在设计器的安装目录下\resources\runTime\cpp找到文件CycloneAutomationTool.crx
左下角打开开发者模式后,将CycloneAutomationTool.crx文件拖入并点击添加扩展即可
三、启用扩展
- 安装成功后,进入①管理扩展,②启用扩展
- 启用后,重启重启浏览器后可正常捕获元素。
UI解析器
前置条件
- 如需捕获Chrome,请安装和启用Chrome插件
- 如需捕获IE,请安装和启用IE加载项
- 如需捕获Java,请安装Java Hook
- 如需捕获SAP,请SAP客户端和服务端均启用GUI脚本权限
功能入口
- 右键单击画布中的组件
- 属性栏的目标元素中的“更多”图标
- 元素选择器中的“在UI解析器中查看”
属性列表
属性列表分为【窗口属性】和【元素属性】两部分,【窗口属性】代表的是元素所在窗口,【元素属性】为元素本身
【info】部分属性,如果被取消勾选,当前属性值会在保存、复制、高亮时舍弃
【属性项】属性名称,不支持编辑
【匹配模式】下拉可选:= 等于、*通配、.*正则
【属性值】支持编辑,点击即可编辑
【变量】可引用设计器中的变量 。
属性对比
点击【属性对比】,进行第二次捕获
可对比前后两次捕获,目标元素的属性不同的地方
在对比值中高亮红字,代表属性值发生了变化 :
- 将发生变化的属性值改为通配符或正则表达式
- 如果是有规律的变化,可考虑使用“引用变量”功能
- 将变化很大的属性取消勾选
原始数据
开启【原始数据】开关,方便直接修改源代码。
复制与粘贴
在UI解析器中捕获后,点击【复制到剪贴板】按钮,复制完整的selector,可粘贴至设计器节点
在设计器中捕获的元素,也可复制selector后,点击UI解析器中的【粘贴至解析器】
查看捕获截图
用户抓取时对元素所在界面的截图,红框高亮目标元素
层级捕获
使用场景
捕获元素时,需要使用鼠标,但需要捕获的元素在鼠标移动上后会隐藏,这导致了不能捕获
网页上有遮罩层,导致捕获不到想要的目标元素
使用方法
点击层级捕获按钮,捕获所需要的内容,如果出现遮罩层或被隐藏的元素,则对包含其所在的部分进行捕获。
捕获后在界面右侧会生成元素层级树,你所捕获的部分会被高亮显示。根据对层级树结构的判断,找到具体需要捕获的元素并双击,此时编辑器中元素属性的属性值会发生改变,变为你需要真正捕获的元素值,最后点击保存。
匹配方式
【精准匹配】基于固定值或变量值,可在输入框中输入固定值,或@引用变量
【通配匹配】支持通配符“*”和“?”
*:代替零个、单个或多个字符
?:代替一个字符
【正则匹配】
支持Perl正则表达式,详见链接:https://www.runoob.com/perl/perl-regular-expressions.html
实现的是regex_search功能,实现部分匹配而不是完全匹配,举例来说,如果目标元素是“百度一下,你就知道“,如果选择了正则匹配,匹配值为”百度“,是可以匹配上的。
Git版本管理
功能说明
Git管理功能可以满足流程设计者的版本管理需求。
使用说明
在使用git管理功能对项目进行版本控制前,需要完成git初始化操作
Git初始化
Git安装
- 在设计器端使用git进行版本管理之前,需要在本地机器上安装git
- 当本地git未安装时,设计器会提示git未安装
- 此时,点击”进入官网“下载并安装Git
- Git已安装
- 当完成Git的安装后,需要编辑Git作者信息以完成初始化
- Git初始配置
- 配置用户名称及邮箱(即在git bash中配置的用户名和邮箱)
- 完成后即可选择初始化项目仓库
- Git配置更新
- 设计器端不可移除Git作者,但可对Git作者进行更新
- 如需移除Git作者,需要在Git Bash中输入指令
- git config –global –unset user.name “yourUserName”
- git config –global –unset user.email “yourEmail”
- 当本地的账号被移除之后,设计器中的作者会自动被移除
项目仓库初始化
- 完成本机Git安装和用户信息配置后,点击初始化项目仓库
- 初始化项目仓库完成后,即可看到提交版本和历史版本
功能介绍
提交版本:
提交前校验
保存校验:当用户提交任意项目文件前,会自动校验文件是否保存
本地仓库创建、更新
- 选中需要提交的文件,填写提交信息并提交后,将完成项目的初始化
- 初次提交时,会在项目的目录,生成Git本地仓库 “.git” (发布的时候将忽略 .git目录,工程项目中没有.git目录)
- 再次提交时,完成本地仓库的更新
提交版本中支持对文件进行搜索
支持精准匹配和关键字匹配,如使用文件名、文件后缀进行搜索
历史版本:
查看历史版本
- 在历史提交记录中,可以查看提交说明、提交时间、提交版本号
- 支持流程文件(flow文件)、代码块文件(python、JS、MJS类型文件…)的比对
- 文件可点击查看变更内容,比较历史版本版本和前一版本的内容差异(绿色 新增,红色 删除)
- 文件内容搜索:可搜索到对应的节点(历史版本和本地版本都可以搜索)、python文件、JS文件可以定位到行号
提交版本:
项目下载
点击列表下载图标,可下载对应版本的项目文件
选择目标目录,可下载对应的项目
点击下载后,用户选择要保存的路径,确认后完成版本下载
下载的文件为项目压缩包
配置用户名称及邮箱(即在git bash中配置的用户名和邮箱)
完成后即可选择初始化项目仓库
Git配置更新
设计器端不可移除Git作者,但可对Git作者进行更新
如需移除Git作者,需要在Git Bash中输入指令
- git config –global –unset user.name “yourUserName”
- git config –global –unset user.email “yourEmail”
- 当本地的账号被移除之后,设计器中的作者会自动被移除
项目仓库初始化
- 完成本机Git安装和用户信息配置后,点击初始化项目仓库
- 初始化项目仓库完成后,即可看到提交版本和历史版本
本地仓库
功能介绍
提交版本:
提交前校验
保存校验:当用户提交任意项目文件前,会自动校验文件是否保存
本地仓库创建、更新
- 选中需要提交的文件,填写提交信息并提交后,将完成项目的初始化
- 初次提交时,会在项目的目录,生成Git本地仓库 “.git” (发布的时候将忽略 .git目录,工程项目中没有.git目录)
- 再次提交时,完成本地仓库的更新
本地仓库文件搜索展示:
提交版本中支持对文件进行搜索
支持精准匹配和关键字匹配,如使用文件名、文件后缀进行搜索
历史版本:
查看历史版本
在历史提交记录中,可以查看提交说明、提交时间、提交版本号
支持流程文件(flow文件)、代码块文件(python、JS、MJS类型文件…)的比对
文件可点击查看变更内容,比较历史版本版本和前一版本的内容差异(绿色 新增,红色 删除)
- 文件内容搜索:可搜索到对应的节点(历史版本和本地版本都可以搜索)、python文件、JS文件可以定位到行号
文件下载
项目下载
- 点击列表下载图标,可下载对应版本的项目文件
- 选择目标目录,可下载对应的项目
- 点击下载后,用户选择要保存的路径,确认后完成版本下载
- 下载的文件为项目压缩包
远程仓库
克隆远程仓库
- 支持http和ssh方法进行克隆,输入远程仓库地址及用户名密码信息后即可成功克隆。
推送
能够实现用户连接远程仓库后,将本地仓库当前内容提交到远程仓库,并支持文件层级的冲突展示与解决冲突。
拉取
能够实现用户连接远程仓库后,将远程仓库最新代码同步至本地
历史版本
用户可以下载远程仓库的历史版本内容,打包下载到本地指定文件夹。
Designer Pro 连接中心
中控
Designer Pro连接中心主要管理设计器连接的外部服务器。
设计器的连接中心,支持基于中控的账号密码,以及账号+密钥的连接方式。
AI服务
功能描述
连接AI服务器,获得AI服务器的基本信息,并支持AI节点运行
使用场景
某些项目需要基于CV ROBOT 或连接到技能平台,可使用该模块进行连接信息配置
使用方法
入口:在设计器的 “连接中心”面板中,新增了一个“AI服务”页签,可打开直连服务的配置弹出层。
配置:点击连接新服务,可以打开添加服务弹出层。在弹出层中输入正确的连接地址、账号、密码。然后点击连接,即可完成配置。配置成功后,界面将会展示从服务器端读取到的基本参数信息。、连接失败则提醒失败信息。
- 标题: 弘玑 Cyclone RPA
- 作者: Yiuhang Chan
- 创建于 : 2024-04-01 11:44:05
- 更新于 : 2024-04-02 08:55:43
- 链接: https://www.yiuhangblog.com/2024/04/01/20240401弘玑Cyclone RPA/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。